package com.lcf.system.vo;

import com.lcf.framework.annotation.DictFile;
import com.lcf.framework.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 电影(Movie)表实体类
 *
 * @author lcf
 * @since 2025-05-07 22:23:21
 */
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Data
public class MovieVO extends BaseVO {
    //电影名称
    @Schema(description = "电影名称")
    private String movieName;
    //电影简介
    @Schema(description = "电影简介")
    private String movieInfo;
    //电影海报
    @Schema(description = "电影海报")
    @DictFile
    private String movieImg;
    //片长（分钟）
    @Schema(description = "片长（分钟）")
    private Integer movieLength;
    //上映年份
    @Schema(description = "上映年份")
    private Integer movieYear;
    //制片地区
    @Schema(description = "制片地区")
    private String movieArea;
    //电影评分
    @Schema(description = "电影评分")
    private BigDecimal movieScore;
    //电影地址
    @Schema(description = "电影地址")
    @DictFile
    private String url;
    //点赞数
    @Schema(description = "点赞数")
    private Integer prizeTimes;
    //收藏数
    @Schema(description = "收藏数")
    private Integer collectTimes;
    //购买数
    @Schema(description = "购买数")
    private Integer buyTimes;
    //评论数
    @Schema(description = "评论数")
    private Integer commentTimes;
    //电影类型
    @Schema(description = "电影类型")
    private List<MovieTypeVO> movieTypes;
    //演职人员
    @Schema(description = "演职人员")
    private List<MoviePerformerVO> moviePerformers;

    //是否点赞
    @Schema(description = "是否点赞1是0否")
    private Integer isPrize;
    //是否收藏
    @Schema(description = "是否收藏1是0否")
    private Integer isCollect;
    //是否购买
    @Schema(description = "是否购买1是0否")
    private Integer isBuy;
    //是否打分
    @Schema(description = "是否打分1是0否")
    private Integer isScore;
}

